home *** CD-ROM | disk | FTP | other *** search
-
- function ps_bullet_dot_fire()
- local bullet = uniGetExecutor()
- bullet:setTransformOwner()
- bullet:addSimpleEffect(ENET_EFFECT_LIGHT_BULLET_DOT)
- -- bullet:addSimpleEffect(ENET_EFFECT_SPRITE_TEST)
- -- waitDeath(bullet:addMoveEffect(ENET_EFFECT_MOVE_LINEARFLY,100,uniGetTarget()))
- waitDeath(bullet:forwardFly(uniGetTarget(),300))
- bullet:suspend()
- bullet:killEffect(ENET_EFFECT_LIGHT_BULLET_DOT)
- local hit_ps = bullet:addSimpleEffect(ENET_EFFECT_PS_BULLET_DOT_HIT)
- pause(0.2)
- hit_ps:suspendedDestroy(0.6)
- uniGetTarget():executeCommand(ENC_DAMAGED)
- pause(0.6)
- bullet:destroy()
- end
-
- registerCommand(ENSCRIPTSET_PS_BULLET_DOT,ENC_FIRE1,"ps_bullet_dot_fire")
-
- -- particle system of dot bullet fly
- desc = getEffectDescription(ENET_EFFECT_PS_BLUELASERBOLT)
- --desc = getEffectDescription(ENET_EFFECT_PS_UNITFIRINGBADLY)
- desc.ScriptSet = ENSCRIPTSET_PS_BULLET_DOT
- desc.MoveType = ENMOVE_FLY
- changeEffect(ENET_EFFECT_PS_BULLET_DOT,desc)
- -- light source for flying dot bullet
- desc = getEffectDescription(ENET_EFFECT_LIGHT_BLUELASERBOLTFLY)
- changeEffect(ENET_EFFECT_LIGHT_BULLET_DOT,desc)
- -- dot bullet hit particle system effect
- desc = getEffectDescription(ENET_EFFECT_PS_BLUELASERBOLTHIT)
- changeEffect(ENET_EFFECT_PS_BULLET_DOT_HIT,desc)
-
- --
- -- sprite 0 creation test
- --
- desc = getEffectDescriptionP(ENET_EFFECT_SPRITE_TEST)
-
- desc.ClassID = ENCLASS_ORIENTEDSPRITE
- desc.EffectClassType = ENECT_ORIENTEDSPRITE
-
- desc.ScriptSet = ENSCRIPTSET_UNKNOWN
- desc.FileName = "particle.dds"
- desc.RelativePosition = ENLOCALPOS_NOTSPECIFIED
- local vzbzd1 = D3DXVECTOR3:new(0,0,0)
- desc.LocalPosition = vzbzd1
- vzbzd1:delete()
- desc.isAnimateTexture = false
-
- desc.Material = ENMAT_3DSPRITE_ALPHED
- desc.MaterialColors.Ambient.r = 0
- desc.MaterialColors.Ambient.g = 0
- desc.MaterialColors.Ambient.b = 0
- desc.MaterialColors.Ambient.a = 1
- desc.MaterialColors.Diffuse.r = 0
- desc.MaterialColors.Diffuse.g = 0
- desc.MaterialColors.Diffuse.b = 0
- desc.MaterialColors.Diffuse.a = 1
- desc.MaterialColors.Emissive.r = 10
- desc.MaterialColors.Emissive.g = 10
- desc.MaterialColors.Emissive.b = 10
- desc.MaterialColors.Emissive.a = 1
- desc.RenderType = ENRENDERTYPE_GEOMETRY
-
- spdesc = desc.OrientedSprite
- spdesc.SpriteType = EN3DSPRITE_ORIENTED
- spdesc.xsize = 5
- spdesc.ysize = 15
- local vzbzd2 = D3DXVECTOR3:new(0,0,1)
- spdesc.OrientAxis = vzbzd2
- vzbzd2:delete()
- local vzbzd3 = D3DXVECTOR3:new(0,1,0)
- spdesc.BindAxis = vzbzd3
- vzbzd3:delete()
- spdesc.Centering = ENCENTERING_CENTER
- spdesc.IsTargetted = false
- spdesc.TargetRelativePosition = ENLOCALPOS_NOTSPECIFIED
- spdesc.IsAxisInLocalSpace = true
- --
- -- end test sprite creation description
- --
-
- -- replace PS desc by sprite desc
- desc = getEffectDescription(ENET_EFFECT_SPRITE_TEST)
- desc.ScriptSet = ENSCRIPTSET_PS_BULLET_DOT
- desc.MoveType = ENMOVE_FLY
- changeEffect(ENET_EFFECT_PS_BULLET_DOT,desc)
-
- --
- -- sprite 0 creation test
- --
- desc = getEffectDescriptionP(ENET_EFFECT_SPRITE_TEST2)
- desc.ClassID = ENCLASS_ORIENTEDSPRITE
- desc.EffectClassType = ENECT_ORIENTEDSPRITE
-
- desc.ScriptSet = ENSCRIPTSET_UNKNOWN
- desc.FileName = "water_explosion_shockwave.dds"
- desc.RelativePosition = ENLOCALPOS_NOTSPECIFIED
- local vzbzd4 = D3DXVECTOR3:new(0,0,0)
- desc.LocalPosition = vzbzd4
- vzbzd4:delete()
- desc.isAnimateTexture = false
-
- desc.Material = ENMAT_3DSPRITE_ALPHED
- desc.MaterialColors.Ambient.r = 0
- desc.MaterialColors.Ambient.g = 0
- desc.MaterialColors.Ambient.b = 0
- desc.MaterialColors.Ambient.a = 1
- desc.MaterialColors.Diffuse.r = 0
- desc.MaterialColors.Diffuse.g = 0
- desc.MaterialColors.Diffuse.b = 0
- desc.MaterialColors.Diffuse.a = 1
- desc.MaterialColors.Emissive.r = 1
- desc.MaterialColors.Emissive.g = 1
- desc.MaterialColors.Emissive.b = 1
- desc.MaterialColors.Emissive.a = 1
- desc.RenderType = ENRENDERTYPE_GEOMETRY
-
- spdesc = desc.OrientedSprite
- spdesc.SpriteType = EN3DSPRITE_BINDED
- spdesc.xsize = 10
- spdesc.ysize = 10
- local vzbzd5 = D3DXVECTOR3:new(1,0,0)
- spdesc.OrientAxis = vzbzd5
- vzbzd5:delete()
- local vzbzd6 = D3DXVECTOR3:new(0,0,1)
- spdesc.BindAxis = vzbzd6
- vzbzd6:delete()
- spdesc.Centering = ENCENTERING_CENTER
- spdesc.isTargetted = false
- spdesc.TargetRelativePosition = ENLOCALPOS_NOTSPECIFIED
- spdesc.IsAxisInLocalSpace = false
- --
- -- end test sprite creation description
- --
-
- --
- -- effects emitter creation test
- --
- desc = getEffectDescriptionP(ENET_EFFECT_EFFECTSEMITTER_TEST)
- desc.ClassID = ENCLASS_UNKNOWN
- desc.EffectClassType = ENECT_EFFECTSEMITTER
-
- desc.ScriptSet = ENSCRIPTSET_UNKNOWN
- desc.RelativePosition = ENLOCALPOS_NOTSPECIFIED
- local vzbzd7 = D3DXVECTOR3:new(0,0,0)
- desc.LocalPosition = vzbzd7
- vzbzd7:delete()
- emitterdesc = desc.EffectsEmitter
- emitterdesc.EmitEffectType = ENET_EFFECT_SPRITE_TEST2
- emitterdesc.EffectsPerSecond = 100
-
- --
- -- end effects emitter creation description
- --
-
- --
- -- effects emitter creation test
- --
- desc = getEffectDescriptionP(ENET_EFFECTSEMITTER_SHIPSTANDINGWATERWAVE)
- desc.ClassID = ENCLASS_UNKNOWN
- desc.EffectClassType = ENECT_EFFECTSEMITTER
-
- desc.ScriptSet = ENSCRIPTSET_UNKNOWN
- desc.RelativePosition = ENLOCALPOS_NOTSPECIFIED
- local vzbzd8 = D3DXVECTOR3:new(0,0,0)
- desc.LocalPosition = vzbzd8
- vzbzd8:delete()
- desc.ActivityType = ENACT_SEMIACTIVE
-
- emitterdesc = desc.EffectsEmitter
- emitterdesc.EmitEffectType = ENET_EFFECT_BINDEDSPRITE_SHIP_WATERTRAY_STANDING
- emitterdesc.EffectsPerSecond = 1.3
- --
- -- end effects emitter creation description
- --
-